package com.ruoyi.combat.domain.camera;

import java.lang.reflect.MalformedParameterizedTypeException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 摄像头信息对象 combat_camera_info
 *
 * @author ruoyi
 * @date 2025-01-08
 */
@ApiModel("摄像头信息")
public class CombatCameraInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 摄像头id
     */
    @ApiModelProperty("摄像头id")
    private Long id;

    /**
     * 摄像头名称
     */
    @ApiModelProperty("摄像头名称")
    @Excel(name = "厂家")
    private String cameraName;

    /**
     * 摄像头ip地址
     */
    @ApiModelProperty("摄像头ip地址")
    @Excel(name = "IP",type= Excel.Type.IMPORT)
    private String cameraIp;

    /**
     * 摄像头类型
     */
    @ApiModelProperty("摄像头类型")
    @Excel(name = "类型",type= Excel.Type.IMPORT)
    private String cameraType;

    /**
     * 摄像头品牌
     */
    @ApiModelProperty("摄像头品牌")
    @Excel(name = "厂家" ,type= Excel.Type.IMPORT)
    private String cameraBrand;

    /**
     * 摄像头端口号
     */
    @ApiModelProperty("摄像头端口号")
    @Excel(name = "端口",type= Excel.Type.IMPORT)
    private String cameraPort;

    /**
     * 摄像头脆弱点
     */
    @ApiModelProperty("摄像头脆弱点")
    @Excel(name = "脆弱点",type= Excel.Type.IMPORT)
    private String cameraFraPoint;

    /**
     * 摄像头漏洞
     */
    @ApiModelProperty("摄像头漏洞")
    @Excel(name = "漏洞类型",type= Excel.Type.IMPORT)
    private String cameraLoophole;

    /**
     * 摄像头漏洞影响
     */
    @ApiModelProperty("摄像头漏洞影响")
    @Excel(name = "影响范围",type= Excel.Type.IMPORT)
    private String cameraEffect;

    /**
     * 摄像头危害等级
     */
    @ApiModelProperty("摄像头危害等级")
    @Excel(name = "危害等级",type= Excel.Type.IMPORT)
    private String cameraLevel;

    /**
     * 摄像头利用方法
     */
    @ApiModelProperty("摄像头利用方法")
    @Excel(name = "利用方法",type= Excel.Type.IMPORT)
    private String cameraMethod;

    /**
     * 摄像头型号
     */
    @ApiModelProperty("摄像头型号")
    @Excel(name = "型号",type= Excel.Type.IMPORT)
    private String cameraModel;

    /**
     * 摄像头单位
     */
    @ApiModelProperty("摄像头单位")
    @Excel(name = "组织机构",type= Excel.Type.IMPORT)
    private String cameraOrg;

    /**
     * 录入时间
     */
    @ApiModelProperty("录入时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "录入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cameraEntertime;

    /**
     * 摄像头单位
     */
    @ApiModelProperty("摄像头所在地区")
    @Excel(name = "所在地区",type= Excel.Type.IMPORT)
    private String cameraArea;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cameraUpdatetime;

    /**
     * 摄像头访问地址
     */
    @ApiModelProperty("摄像头访问地址")
    @Excel(name = "url地址",type= Excel.Type.IMPORT)
    private String cameraViewurl;

    /**
     * 摄像头访问用户名
     */
    @ApiModelProperty("摄像头访问用户名")
    @Excel(name = "用户名",type= Excel.Type.IMPORT)
    private String username;

    /**
     * 摄像头访问用户密码
     */
    @ApiModelProperty("摄像头访问用户密码")
    @Excel(name = "密码",type= Excel.Type.IMPORT)
    private String password;

    /**
     * 摄像头纬度
     */
    @ApiModelProperty("摄像头纬度")
    @Excel(name = "纬度",type= Excel.Type.IMPORT)
    private String cameraLat;

    /**
     * 摄像头经度
     */
    @ApiModelProperty("摄像头经度")
    @Excel(name = "经度",type= Excel.Type.IMPORT)
    private String cameraLon;

    /**
     * 缩略图地址
     */
    @ApiModelProperty("缩略图地址")
    @Excel(name = "缩略图地址")
    private String jpgViewUrl;

    private List<Map> selectCheck;

    public List<Map> getSelectCheck() {
        return selectCheck;
    }

    public void setSelectCheck(List<Map> selectCheck) {
        this.selectCheck = selectCheck;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCameraName(String cameraName) {
        this.cameraName = cameraName;
    }

    public String getCameraName() {
        return cameraName;
    }

    public void setCameraIp(String cameraIp) {
        this.cameraIp = cameraIp;
    }

    public String getCameraIp() {
        return cameraIp;
    }

    public void setCameraType(String cameraType) {
        this.cameraType = cameraType;
    }

    public String getCameraType() {
        return cameraType;
    }

    public void setCameraBrand(String cameraBrand) {
        this.cameraBrand = cameraBrand;
    }

    public String getCameraBrand() {
        return cameraBrand;
    }

    public void setCameraPort(String cameraPort) {
        this.cameraPort = cameraPort;
    }

    public String getCameraPort() {
        return cameraPort;
    }

    public void setCameraFraPoint(String cameraFraPoint) {
        this.cameraFraPoint = cameraFraPoint;
    }

    public String getCameraFraPoint() {
        return cameraFraPoint;
    }

    public void setCameraLoophole(String cameraLoophole) {
        this.cameraLoophole = cameraLoophole;
    }

    public String getCameraLoophole() {
        return cameraLoophole;
    }

    public void setCameraEffect(String cameraEffect) {
        this.cameraEffect = cameraEffect;
    }

    public String getCameraEffect() {
        return cameraEffect;
    }

    public void setCameraLevel(String cameraLevel) {
        this.cameraLevel = cameraLevel;
    }

    public String getCameraLevel() {
        return cameraLevel;
    }

    public void setCameraMethod(String cameraMethod) {
        this.cameraMethod = cameraMethod;
    }

    public String getCameraMethod() {
        return cameraMethod;
    }

    public void setCameraEntertime(Date cameraEntertime) {
        this.cameraEntertime = cameraEntertime;
    }

    public Date getCameraEntertime() {
        return cameraEntertime;
    }

    public void setCameraUpdatetime(Date cameraUpdatetime) {
        this.cameraUpdatetime = cameraUpdatetime;
    }

    public Date getCameraUpdatetime() {
        return cameraUpdatetime;
    }

    public void setCameraViewurl(String cameraViewurl) {
        this.cameraViewurl = cameraViewurl;
    }

    public String getCameraViewurl() {
        return cameraViewurl;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUsername() {
        return username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public String getCameraModel() {
        return cameraModel;
    }

    public void setCameraModel(String cameraModel) {
        this.cameraModel = cameraModel;
    }

    public String getCameraOrg() {
        return cameraOrg;
    }

    public void setCameraOrg(String cameraOrg) {
        this.cameraOrg = cameraOrg;
    }

    public String getCameraArea() {
        return cameraArea;
    }

    public void setCameraArea(String cameraArea) {
        this.cameraArea = cameraArea;
    }

    public String getCameraLat() {
        return cameraLat;
    }

    public void setCameraLat(String cameraLat) {
        this.cameraLat = cameraLat;
    }

    public String getCameraLon() {
        return cameraLon;
    }

    public void setCameraLon(String cameraLon) {
        this.cameraLon = cameraLon;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("cameraName", getCameraName())
                .append("cameraIp", getCameraIp())
                .append("cameraType", getCameraType())
                .append("cameraBrand", getCameraBrand())
                .append("cameraPort", getCameraPort())
                .append("cameraFraPoint", getCameraFraPoint())
                .append("cameraLoophole", getCameraLoophole())
                .append("cameraEffect", getCameraEffect())
                .append("cameraLevel", getCameraLevel())
                .append("cameraMethod", getCameraMethod())
                .append("cameraEntertime", getCameraEntertime())
                .append("cameraUpdatetime", getCameraUpdatetime())
                .append("cameraViewurl", getCameraViewurl())
                .append("username", getUsername())
                .append("password", getPassword())
                .append("cameraModel", getCameraModel())
                .toString();
    }


    public String getJpgViewUrl() {
        return jpgViewUrl;
    }

    public void setJpgViewUrl(String jpgViewUrl) {
        this.jpgViewUrl = jpgViewUrl;
    }
}
